package veterinaria.manager;

import geral.manager.GenericManager;
import geral.manager.UtilManager;
import geral.util.FacesUtil;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.ejb.EJB;
import javax.enterprise.context.ConversationScoped;
import javax.inject.Inject;
import javax.inject.Named;

import br.com.sgc.entities.hotelaria.ItensHospedagem;
import br.com.sgc.session.GenericSession;

@Named
@ConversationScoped
public class ItensHospedagemManager extends GenericManager implements Serializable {


	private static final long serialVersionUID = 6940974360564639270L;

	@Inject private UtilManager utilManager;
	
	@EJB private GenericSession<ItensHospedagem> itensHospedagemSession;
	
	private ItensHospedagem itensHospedagem = new ItensHospedagem();
	
	private List<ItensHospedagem> listItensHospedagem = new ArrayList<ItensHospedagem>();
	
	private Boolean showPanelCadastro;

	
	public String list(){
		listItensHospedagem = itensHospedagemSession.findAll(ItensHospedagem.class ,utilManager.getSegurancaManager().getUsuarioLogado().getClinica().getId());
		showPanelCadastro = false;
		return "formItensHospedagem";
	}
	
	public String prepareSave(){
		showPanelCadastro = true;
		itensHospedagem = new ItensHospedagem();
		return "formItensHospedagem";
	}
	
	public String save(){
		try {
			itensHospedagemSession.save(itensHospedagem);
			FacesUtil.mensInfo("Pelagem salva com sucesso");
			itensHospedagem = new ItensHospedagem();
			return list();
		} catch (Exception e) {
			FacesUtil.mensErro(e.getMessage());
			return null;
		}
	}
	
	public String prepareUpdate(){
		itensHospedagem = itensHospedagemSession.findById(ItensHospedagem.class, itensHospedagem.getId(), true);
		showPanelCadastro = true;
		return "formItensHospedagem";
	}
	
	public String update(){
		try {
			itensHospedagemSession.update(itensHospedagem);
			itensHospedagem = new ItensHospedagem();
			FacesUtil.mensInfo("Pelagem atualizado com sucesso");
			return list();
		} catch (Exception e) {
			FacesUtil.mensErro(e.getMessage());
			return null;
		}
	}

	public GenericSession<ItensHospedagem> getItensHospedagemSession() {
		return itensHospedagemSession;
	}

	public void setItensHospedagemSession(
			GenericSession<ItensHospedagem> itensHospedagemSession) {
		this.itensHospedagemSession = itensHospedagemSession;
	}

	public ItensHospedagem getItensHospedagem() {
		return itensHospedagem;
	}

	public void setItensHospedagem(ItensHospedagem itensHospedagem) {
		this.itensHospedagem = itensHospedagem;
	}

	public List<ItensHospedagem> getListItensHospedagem() {
		return listItensHospedagem;
	}

	public void setListItensHospedagem(List<ItensHospedagem> listItensHospedagem) {
		this.listItensHospedagem = listItensHospedagem;
	}

	public Boolean getShowPanelCadastro() {
		return showPanelCadastro;
	}

	public void setShowPanelCadastro(Boolean showPanelCadastro) {
		this.showPanelCadastro = showPanelCadastro;
	}
	
}

	
